<?php
class Komentarz_Model extends Uzytkownik_Model{
        protected $tytul,$tresc,$id_wniosku;
        public function set_tytul($zmienna)
        {
            $this->tytul=$zmienna;
        }
        public function set_tresc($zmienna)
        {
            $this->tresc=$zmienna;
        }
        public function get_tytul()
        {
            return $this->tytul;
        }
        public function get_tresc()
        {
            return $this->tresc;
        }
        public function __construct(){
            parent::__construct();
        }
        /**
         * zmienia status komentarza na 2 w tabeli komentarze_wniosek
         */
        public function komentarz_przeczytany()
        {
        	$this->db->from('komentarze_wniosek')->set(array('status' => 1))->where(array('id_komentarz' => $this->get_idprojektu()))->update();
                //$this->db->from('status_komentarze')->set(array('status' => 1))->where(array('id_komentarz' => $this->get_idprojektu()))->update();
        }
        public function pobierz_komentarz()
        {
            $tresc=$this->db->select('id_komentarz,tytul,tresc')->from('komentarze_wniosek')
                    ->where('id_komentarz',$this->get_idprojektu())->get()->result_array(false);
            $t['tytul']=$tresc[0]['tytul'];
            $t['tresc']=$tresc[0]['tresc'];
            return $t;
        }
        public function pobierz_komentarze($opcja)
        {
            switch($opcja)
            {
                case 'w':
                    return $this->db->select('id_komentarz,tytul,tresc')->from('komentarze_wniosek')
                    ->where('id_wniosek',$this->get_idprojektu())->get()->result_array(false);
                break;
            case 'p':
                    return $this->db->select('id_komentarz,tytul,tresc')->from('komentarze_wniosek')
                    ->where('id_projekt',$this->get_idprojektu())->get()->result_array(false);
                break;
            }
        }
        public function ustaw_status_komentarza($id_komentarz,$id_user)
        {
            $wynik=$this->db->insert('status_komentarze', array('status' => 0,'id_komentarz'=>$id_komentarz,'id_users'=>$id_user));
        }
        public function przekaz_dalej_komentarz($id_komentarz,$indeksy_osob,$id_user)
        {
            $r=$this->db->query("insert into  status_komentarze(status,id_komentarz,id_osoba,droga_komentarz,data_dodania,id_users)
                            values(0,?,?,'przeslij',now(),?)",array($id_komentarz,$indeksy_osob,$id_user));
        }
        public function wyslij_do_wszystkich()
        {
            $t=array(
                        'tytul' => $this->get_tytul(),
                        'tresc' => $this->get_tresc(),
                        'id_wniosek'=>$this->get_idprojektu()
                        );
                    return  $this->db->insert('komentarze_wniosek',$t);
        }
        /**
         *wstawia wiersz do tabeli komentarze_wniosek
         * @param string $opcja w(wniosek),p(projekt)
         * @param int $id_na_komentarz id komentarza nd ktory ma wskazywac aktualnie dodawany wiersz
         * @return asocjacyjna
         */
        public function     wstaw_komentarz($opcja,$id_na_komentarz=null)
        {
            //echo '<br> opcja'.$opcja;
            switch($opcja)
            {
                case 'w_':
                    $t=array(
                        'tytul' => $this->get_tytul(),
                        'tresc' => $this->get_tresc(),
                        'id_wniosek'=>$this->get_idprojektu()
                        );
                    return  $this->db->update('komentarze_wniosek',$t,array('id_wniosek'=>$this->get_idprojektu()));
                    break;
                case 'w':
                    if ($id_na_komentarz)
                        $t=array(
                        'tytul' => $this->get_tytul(),
                        'tresc' => $this->get_tresc(),
                        'id_wniosek'=>$this->get_idprojektu (),
                        'id_parent' =>$id_na_komentarz,
                        'droga_komentarza' =>'odpowiedz'
                        );
                    else
                        $t=array(
                        'tytul' => $this->get_tytul(),
                        'tresc' => $this->get_tresc(),
                        //'droga_komentarza'=>'dodany',
                            'droga_komentarza'=>'wyslany',
                        'id_wniosek'=>$this->get_idprojektu()
                        );
                    return  $this->db->insert('komentarze_wniosek',$t);
                break;
                case 'p':
                    if($id_na_komentarz)
                        $t=array(
                        'tytul' => $this->get_tytul(),
                        'tresc' => $this->get_tresc(),
                        'id_parent' =>$id_na_komentarz,
                        'droga_komentarza' =>'odpowiedz',
                        'status'=> 0);
                    else
                        $t=array(
                        'droga_komentarza'=>'wyslany',
                        'tytul' => $this->get_tytul(),
                        'tresc' => $this->get_tresc(),
                        'id_projekt'=>$this->get_idprojektu(),
                        'status'=> 0);
                    return  $this->db->insert('komentarze_wniosek',$t);
                break;
        	}
        }
        /**
         *pobiera wszystkie komentarze uwzgledniajac usera oraz opcje
         * @param int $user id_danego_usera
         * @param string $opcja 'wyslany','otrzymany','wystawiony'
         * @return asocjacyjna 
         */
        public function otrzymane_wyslane($user,$opcja,$id_wniosek)
        {
            //var_dump($user);
            //var_dump($opcja);;
            $sql="select k.* from komentarze_wniosek k inner join status_komentarze s
                using(id_komentarz) where s.id_users=? and droga_komentarz=? and k.id_wniosek=?";
            $tt=$this->db->query($sql,$user,$opcja,$id_wniosek)->result_array(false);
            return $tt;
        }
        /**
         *wstawia nowy wiersz w tabeli status_komentarze
         * @param int $id_komentarza id komentarza do ktorego ma sie tyczyc wstawiany wiersz
         * @param int $id_usera user ktory wstawial komentarz
         * @param string $opcja  opcja dla komentarza('wstawiony','otrzymany','wyslany')
         * @param int $id_osoba  id osoby do ktorej jest kierowany komentarz,null jesli to tylko zwykly komentarz
         */
        public function kto_wstawial($id_komentarza,$id_usera,$opcja,$id_osoba=null)
        {
            if($id_osoba)
            {
                foreach($id_osoba as $indeks)
                {
                    $sql="insert into status_komentarze(status,id_komentarz,id_users,droga_komentarz,id_osoba)
                    values(0,?,?,?,?)";
                    $this->db->query($sql,$id_komentarza,$id_usera,$opcja,$id_osoba['id_osoby']);
                }
            }
            else
            {
                //echo 'wstawianie';
        	$sql="insert into status_komentarze(status,id_komentarz,id_users,droga_komentarz) values(0,?,?,?)";
                $this->db->query($sql,$id_komentarza,$id_usera,$opcja);
            }
        	
        }
        public function update_komentarz($_tytul_komentarza,$tresc_komentarza,$id_komentarz)
        {
            $sql="update komentarze_wniosek set tytul=?,tresc=? where id_komentarz=?";
            return $this->db->query($sql,array($_tytul_komentarza,$tresc_komentarza,$id_komentarz));

        }
}
?>
